Views হলো CodeIgniter ফ্রেমওয়ার্কের একটি গুরুত্বপূর্ণ উপাদান, যা অ্যাপ্লিকেশনের আউটপুট বা User Interface (UI) প্রদর্শনের জন্য ব্যবহৃত হয়। এটি HTML, CSS, এবং JavaScript এর মাধ্যমে ডেটাকে ব্যবহারকারীর কাছে উপস্থাপন করে। Controller থেকে ডেটা প্রক্রিয়া হয়ে Views এ পাঠানো হয়।
app/Views
ডিরেক্টরিতে একটি .php
ফাইল তৈরি করুন (যেমন: welcome_message.php
)।নিচের HTML কোড যোগ করুন:
<html>
<head>
<title>Welcome</title>
</head>
<body>
<h1>Welcome to CodeIgniter!</h1>
</body>
</html>
Controller থেকে View লোড করার জন্য view()
ফাংশন ব্যবহার করা হয়।
উদাহরণ:
<?php
namespace App\Controllers;
class Home extends BaseController {
public function index() {
return view('welcome_message');
}
}
http://localhost/home/index
Controller থেকে View-তে ডেটা পাস করার জন্য একটি অ্যাসোসিয়েটিভ অ্যারে ব্যবহার করা হয়।
উদাহরণ:
<?php
namespace App\Controllers;
class Home extends BaseController {
public function about() {
$data = [
'title' => 'About Us',
'content' => 'Welcome to the About Us page.'
];
return view('about', $data);
}
}
app/Views/about.php
ফাইল তৈরি করুন এবং ডেটা ব্যবহার করুন:
<html>
<head>
<title><?php echo $title; ?></title>
</head>
<body>
<h1><?php echo $title; ?></h1>
<p><?php echo $content; ?></p>
</body>
</html>
একটি View এর মধ্যে অন্য একটি View যোগ করা যায়।
উদাহরণ:
<?php
// Parent View: app/Views/layout.php
?>
<html>
<head>
<title>My Website</title>
</head>
<body>
<header><?php echo view('header'); ?></header>
<main><?php echo $content; ?></main>
<footer><?php echo view('footer'); ?></footer>
</body>
</html>
<?php
// Child View: app/Views/header.php
?>
<h1>This is the header</h1>
<?php
// Controller: app/Controllers/Home.php
namespace App\Controllers;
class Home extends BaseController {
public function index() {
$data['content'] = "This is the main content.";
return view('layout', $data);
}
}
View ফাইলে PHP লুপ এবং কন্ডিশনাল স্টেটমেন্ট ব্যবহার করা যায়।
<ul>
<?php foreach ($products as $product): ?>
<li><?php echo $product['name']; ?> - $<?php echo $product['price']; ?></li>
<?php endforeach; ?>
</ul>
<?php if ($isLoggedIn): ?>
<p>Welcome, <?php echo $username; ?>!</p>
<?php else: ?>
<p>Please log in.</p>
<?php endif; ?>
কোনো নির্দিষ্ট অংশের জন্য আলাদা View তৈরি করে তা বড় View-তে অন্তর্ভুক্ত করা যায়।
<?php echo view('partials/sidebar'); ?>
Layouts ব্যবহার করে একটি নির্দিষ্ট স্ট্রাকচার সংরক্ষণ করা যায়।
CodeIgniter-এ Views অ্যাপ্লিকেশনের UI লেয়ার তৈরি করার জন্য কার্যকর একটি উপাদান। এটি ব্যবহার করে অ্যাপ্লিকেশনকে ব্যবহারকারীর কাছে আরও আকর্ষণীয় এবং কার্যকরভাবে উপস্থাপন করা যায়।
View হলো CodeIgniter ফ্রেমওয়ার্কের এমন একটি উপাদান, যা অ্যাপ্লিকেশনের আউটপুট এবং ইউজার ইন্টারফেস প্রদর্শন করার জন্য ব্যবহৃত হয়। এটি সাধারণত HTML, CSS এবং JavaScript কোড সমন্বিত হয়। Controller থেকে View-এ ডেটা পাঠানো হয় এবং View সেই ডেটা ব্যবহার করে আউটপুট রেন্ডার করে।
app/Views
ডিরেক্টরিতে সংরক্ষিত হয়।app/Views/product_list.php
নাম দিয়ে।HTML কোড যোগ করুন
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Product List</title>
</head>
<body>
<h1>Product List</h1>
<ul>
<?php if (isset($products) && !empty($products)): ?>
<?php foreach ($products as $product): ?>
<li><?= esc($product['name']); ?> - <?= esc($product['price']); ?></li>
<?php endforeach; ?>
<?php else: ?>
<li>No products available.</li>
<?php endif; ?>
</ul>
</body>
</html>
Controller এর মাধ্যমে View লোড করা যায় view()
মেথড ব্যবহার করে।
app/Controllers
ডিরেক্টরিতে একটি Controller ফাইল তৈরি করুন। উদাহরণ: ProductController.php
।Controller এর কোড যুক্ত করুন
<?php
namespace App\Controllers;
class ProductController extends BaseController
{
public function index()
{
// ডেটা তৈরি করা
$data['products'] = [
['name' => 'Product 1', 'price' => 100],
['name' => 'Product 2', 'price' => 200],
['name' => 'Product 3', 'price' => 300],
];
// View লোড করা
return view('product_list', $data);
}
}
Controller রুট সেট করুন CodeIgniter-এ রাউট সেট করার জন্য app/Config/Routes.php
ফাইলটি খুলুন এবং নিচের কোড যুক্ত করুন:
$routes->get('/products', 'ProductController::index');
http://localhost/your_project_name/products
URL লিখুন।Controller থেকে View-এ ডেটা পাঠানোর জন্য একটি অ্যাসোসিয়েটিভ অ্যারে ব্যবহার করা হয়। উদাহরণ:
public function index()
{
$data = [
'title' => 'Product List',
'products' => [
['name' => 'Product 1', 'price' => 100],
['name' => 'Product 2', 'price' => 200],
],
];
return view('product_list', $data);
}
<h1><?= esc($title); ?></h1>
<ul>
<?php foreach ($products as $product): ?>
<li><?= esc($product['name']); ?> - <?= esc($product['price']); ?></li>
<?php endforeach; ?>
</ul>
CodeIgniter-এ View ফাইলগুলো ভেঙে ভাগ করা যায়, যেমন header, footer।
app/Views/header.php
ফাইল:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?= esc($title); ?></title>
</head>
<body>
app/Views/footer.php
ফাইল:
</body>
</html>
app/Views/product_list.php
ফাইল:
<?= view('header', ['title' => 'Product List']); ?>
<h1>Product List</h1>
<ul>
<?php foreach ($products as $product): ?>
<li><?= esc($product['name']); ?> - <?= esc($product['price']); ?></li>
<?php endforeach; ?>
</ul>
<?= view('footer'); ?>
CodeIgniter-এ Views হলো এমন একটি অংশ, যা অ্যাপ্লিকেশনের আউটপুট ইউজারের কাছে উপস্থাপন করে। ডাইনামিক ডেটা পাস করে View-তে কন্টেন্ট তৈরি করা খুবই সাধারণ একটি কাজ। Controller থেকে ডেটা পাঠিয়ে View-তে প্রদর্শন করা হয়।
app/Views
ডিরেক্টরিতে রাখা হয়।.php
এক্সটেনশন ব্যবহার করে।উদাহরণস্বরূপ, app/Views/products_list.php
ফাইল তৈরি করুন:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Product List</title>
</head>
<body>
<h1>Product List</h1>
<ul>
<?php foreach ($products as $product): ?>
<li><?php echo $product['name']; ?> - <?php echo $product['price']; ?> BDT</li>
<?php endforeach; ?>
</ul>
</body>
</html>
Controller এর কাজ হলো Model থেকে ডেটা নিয়ে View-তে পাঠানো।
app/Controllers/Product.php
ফাইল তৈরি করুন:
<?php
namespace App\Controllers;
use App\Models\ProductModel;
class Product extends BaseController
{
public function index()
{
// Model লোড করা
$productModel = new ProductModel();
// ডেটা ফেচ করা
$data['products'] = $productModel->findAll();
// View-তে ডেটা পাস করা
return view('products_list', $data);
}
}
app/Config/Routes.php
ফাইল খুলুন এবং Controller এর জন্য Route তৈরি করুন:
$routes->get('products', 'Product::index');
return view('view_name', $data)
এর মাধ্যমে ডেটা পাস করা হয়।$data
অ্যারেকে ভেরিয়েবল হিসেবে ব্যবহার করা হয়।$data['title'] = 'My Product Page';
return view('products_list', $data);
View ফাইল (products_list.php
):
<h1><?php echo $title; ?></h1>
$data = [
'title' => 'Product List',
'products' => [
['name' => 'Product 1', 'price' => 100],
['name' => 'Product 2', 'price' => 200],
]
];
return view('products_list', $data);
View ফাইল (products_list.php
):
<h1><?php echo $title; ?></h1>
<ul>
<?php foreach ($products as $product): ?>
<li><?php echo $product['name']; ?> - <?php echo $product['price']; ?> BDT</li>
<?php endforeach; ?>
</ul>
CodeIgniter-এ আপনি partials ব্যবহার করে View ফাইলগুলোকে বিভক্ত করতে পারেন। এটি কোড পুনরায় ব্যবহারযোগ্য এবং পরিষ্কার রাখতে সাহায্য করে।
app/Views/partials/header.php
:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title><?php echo $title; ?></title>
</head>
<body>
app/Views/partials/footer.php
:
</body>
</html>
app/Views/products_list.php
:
<?php echo view('partials/header'); ?>
<h1><?php echo $title; ?></h1>
<ul>
<?php foreach ($products as $product): ?>
<li><?php echo $product['name']; ?> - <?php echo $product['price']; ?> BDT</li>
<?php endforeach; ?>
</ul>
<?php echo view('partials/footer'); ?>
যদিও CodeIgniter-এ ডিফল্ট টেমপ্লেট ইঞ্জিন নেই, তবে আপনি Blade বা অন্য টেমপ্লেট ইঞ্জিন সহজেই ইন্টিগ্রেট করতে পারেন। তবে CodeIgniter এর নিজস্ব পদ্ধতিতে PHP কোড দিয়ে টেমপ্লেট তৈরি করাই যথেষ্ট কার্যকরী।
return view()
মেথড ব্যবহার করা হয়।$variable_name
ব্যবহার করা হয়।CodeIgniter-এ ডাইনামিক ডেটা পাস করা সহজ এবং এটি অ্যাপ্লিকেশন ডেভেলপমেন্টকে দ্রুত এবং কার্যকর করে তোলে।
View হলো CodeIgniter এর MVC (Model-View-Controller) আর্কিটেকচারের একটি গুরুত্বপূর্ণ অংশ। এটি অ্যাপ্লিকেশনের আউটপুট এবং ইউজার ইন্টারফেস (UI) প্রদর্শনের জন্য ব্যবহৃত হয়। View সাধারণত HTML, CSS, এবং JavaScript এর মাধ্যমে তৈরি হয় এবং ডেটা প্রদর্শন করে যা Controller থেকে পাঠানো হয়।
View হলো CodeIgniter এর একটি ফাইল যেখানে ডেটা প্রদর্শনের জন্য লেআউট এবং ডিজাইন তৈরি করা হয়। এটি সরাসরি ডাটাবেসের সাথে যোগাযোগ করে না। Controller ডেটা প্রস্তুত করে এবং View-এ পাঠায়, যা সেই ডেটাকে প্রদর্শন করে।
CodeIgniter এ View সাধারণত app/Views/
ডিরেক্টরিতে রাখা হয়। নিচে একটি সাধারণ View তৈরি করার প্রক্রিয়া দেখানো হলো।
app/Views/
ডিরেক্টরিতে একটি নতুন ফাইল তৈরি করুন। উদাহরণস্বরূপ: product_list.php
<!DOCTYPE html>
<html>
<head>
<title>Product List</title>
</head>
<body>
<h1>Product List</h1>
<ul>
<?php foreach ($products as $product): ?>
<li><?php echo $product['name']; ?> - $<?php echo $product['price']; ?></li>
<?php endforeach; ?>
</ul>
</body>
</html>
Controller থেকে View লোড করতে return view()
ফাংশন ব্যবহার করা হয়। উদাহরণস্বরূপ:
namespace App\Controllers;
class ProductController extends BaseController
{
public function index()
{
$data['products'] = [
['name' => 'Laptop', 'price' => 1000],
['name' => 'Smartphone', 'price' => 700]
];
// View লোড করা
return view('product_list', $data);
}
}
Controller থেকে View-এ $data
অ্যারে ব্যবহার করে ডেটা পাঠানো হয়। উপরের উদাহরণে $data['products']
View-এ অ্যাক্সেস করা যাবে।
বড় View ফাইলগুলো ছোট ছোট টেম্পলেট বা Partial Views এ ভাঙা যায়। উদাহরণস্বরূপ, Header এবং Footer আলাদা করা:
app/Views/partials/header.php
<!DOCTYPE html>
<html>
<head>
<title><?php echo $title; ?></title>
</head>
<body>
app/Views/partials/footer.php
</body>
</html>
app/Views/product_list.php
<?php echo view('partials/header', ['title' => 'Product List']); ?>
<h1>Product List</h1>
<ul>
<?php foreach ($products as $product): ?>
<li><?php echo $product['name']; ?> - $<?php echo $product['price']; ?></li>
<?php endforeach; ?>
</ul>
<?php echo view('partials/footer'); ?>
<ul>
<?php foreach ($products as $product): ?>
<li><?php echo $product['name']; ?> - $<?php echo $product['price']; ?></li>
<?php endforeach; ?>
</ul>
<?= ?>
ব্যবহার করা যেতে পারে:<ul>
<?php foreach ($products as $product): ?>
<li><?= $product['name']; ?> - $<?= $product['price']; ?></li>
<?php endforeach; ?>
</ul>
CodeIgniter এর View হলো একটি ফ্রন্টএন্ড উপাদান, যা ব্যবহারকারীর কাছে ডেটা এবং UI উপস্থাপন করে। এটি Controller থেকে ডেটা গ্রহণ করে এবং HTML, CSS, এবং JavaScript ব্যবহার করে তা সুন্দরভাবে প্রদর্শন করে। View এর মাধ্যমে UI এবং লজিককে আলাদা রেখে অ্যাপ্লিকেশন আরও সংগঠিত এবং পরিচালনাযোগ্য হয়।
Views হলো CodeIgniter এর MVC (Model-View-Controller) আর্কিটেকচারের একটি গুরুত্বপূর্ণ উপাদান। এটি অ্যাপ্লিকেশনের আউটপুট বা ইউজার ইন্টারফেস (UI) তৈরি করে। Reusability বা পুনরায় ব্যবহারযোগ্যতা নিশ্চিত করার মাধ্যমে আপনি কোডকে পরিষ্কার, সংগঠিত এবং সহজে রক্ষণাবেক্ষণযোগ্য করতে পারেন।
View ফাইলগুলো app/Views/
ডিরেক্টরিতে সংরক্ষণ করতে হয়। উদাহরণস্বরূপ, একটি View তৈরি করতে:
app/Views/welcome_message.php
<!DOCTYPE html>
<html>
<head>
<title>Welcome to CodeIgniter</title>
</head>
<body>
<h1>Welcome to CodeIgniter!</h1>
<p>This is your first view.</p>
</body>
</html>
Controller এর মাধ্যমে View লোড করতে view()
ফাংশন ব্যবহার করুন:
namespace App\Controllers;
class Welcome extends BaseController {
public function index() {
return view('welcome_message');
}
}
উপরের Controller মেথডটি ব্রাউজারে http://localhost/your_project/public/welcome
এ অ্যাক্সেস করলে welcome_message
View প্রদর্শিত হবে।
Controller থেকে View এ ডেটা পাস করতে একটি অ্যাসোসিয়েটিভ অ্যারে ব্যবহার করা হয়:
namespace App\Controllers;
class Welcome extends BaseController {
public function index() {
$data = [
'title' => 'Welcome Page',
'message' => 'Hello, CodeIgniter!'
];
return view('welcome_message', $data);
}
}
View এ পাসকৃত ডেটা ব্যবহার করতে:
<!DOCTYPE html>
<html>
<head>
<title><?= esc($title); ?></title>
</head>
<body>
<h1><?= esc($message); ?></h1>
</body>
</html>
Views পুনরায় ব্যবহারযোগ্য করতে Header এবং Footer ফাইল আলাদা করুন:
Header ফাইল (header.php
):
<!DOCTYPE html>
<html>
<head>
<title><?= esc($title); ?></title>
</head>
<body>
Footer ফাইল (footer.php
):
</body>
</html>
Main Content ফাইলে include()
ফাংশন ব্যবহার করে Header এবং Footer যোগ করুন:
<?= view('header', ['title' => 'Home Page']); ?>
<h1>Welcome to CodeIgniter</h1>
<p>This is the main content.</p>
<?= view('footer'); ?>
namespace App\Controllers;
class Welcome extends BaseController {
public function index() {
return view('main_content');
}
}
Layouts ব্যবহার করে একটি মূল টেমপ্লেট তৈরি করা যায়:
Layout ফাইল (layout.php
):
<!DOCTYPE html>
<html>
<head>
<title><?= esc($title); ?></title>
</head>
<body>
<header>
<h1>My Website</h1>
</header>
<main>
<?= $this->renderSection('content'); ?>
</main>
<footer>
<p>© 2024 My Website</p>
</footer>
</body>
</html>
Child View মূল Layout এ নির্দিষ্ট সেকশন প্রতিস্থাপন করতে ব্যবহার করা হয়:
Child ফাইল (home.php
):
<?= $this->extend('layout'); ?>
<?= $this->section('content'); ?>
<h2>Welcome to the Homepage</h2>
<p>This is the home page content.</p>
<?= $this->endSection(); ?>
namespace App\Controllers;
class Home extends BaseController {
public function index() {
return view('home');
}
}
esc()
ফাংশন ব্যবহার করুন।CodeIgniter-এ Views এবং Reusability নিশ্চিত করার মাধ্যমে আপনি কোড ক্লিন এবং কার্যকর রাখতে পারবেন। এটি ডেভেলপমেন্ট সময় বাঁচানোর পাশাপাশি রক্ষণাবেক্ষণ সহজ করে।
Read more